package Dominio;
import java.util.List;

import Persistencia.AgenteBD;
public class Socio {
	private int dni;
	private int dniTitular;
	private String cuentaBanco;
	private int habilitado;
	
	public Socio() {
		super();
	}
	
	public Socio(int dni, int dniTitular, String cuentaBanco, int habilitado) {
		super();
		this.dni = dni;
		this.dniTitular = dniTitular;
		this.cuentaBanco = cuentaBanco;
		this.habilitado = habilitado;
	}

	public int getDni() {
		return dni;
	}
	public void setDni(int dni) {
		this.dni = dni;
	}
	public int getDniTitular() {
		return dniTitular;
	}
	public void setDniTitular(int dniTitular) {
		this.dniTitular = dniTitular;
	}
	public String getCuentaBanco() {
		return cuentaBanco;
	}
	public void setCuentaBanco(String cuentaBanco) {
		this.cuentaBanco = cuentaBanco;
	}
	
	public int getHabilitado() {
		return habilitado;
	}

	public void setHabilitado(int habilitado) {
		this.habilitado = habilitado;
	}

	public static int altaSocio(int id, int dniT, String cuentaB, int h){
		int  res=0;
		Socio s= new Socio(id,dniT,cuentaB,h);
		res=AgenteBD.crearSocioBD(s);
		return res;
		
	}
	
	public static int bajaSocio(int id){
		int res=0;
		//TODO KILLER METHOD --- BAJA SOCIO
		//Suponemos que pasamos todas sus facturas pendientes al banco 
		//Ponemos todos sus Pagos liquidados
		//Si es titular damos de baja a todos los de su grupo y liquidamos todas sus facturas
		
		res=AgenteBD.darBajaSocioBD(id);

		return res;
	}
	
	public static List<Socio> consultarSocios(){
		List<Socio> ls=AgenteBD.consultarSociosBD();
		return ls;
	}
	public static Socio consultarSocio(int dni){
		Socio s=AgenteBD.consultarSocioBD(dni);
		return s;
	}
	public static String cuentaTitular(int dniT) {
		String cuentaB=null;
		Socio s=AgenteBD.consultarSocioBD(dniT);
		cuentaB=s.getCuentaBanco();
		return cuentaB;
	}

	public static int esTitular(int id) {
		int res=0;
		Socio s=AgenteBD.consultarSocioBD(id);
		if(s!=null)
			if(s.getDni()==s.getDniTitular())
				res=1;
	
		return res;
	}

	public static int modificarSocio(int id, int dniT, String cuentaB, int h) {
		Socio s=AgenteBD.consultarSocioBD(id);
		s.setCuentaBanco(cuentaB);
		s.setDniTitular(dniT);
		s.setHabilitado(h);
		int res=AgenteBD.modificarSocioBD(s);
		
		return res;
	}


}
